package com.tqjc.business.interactivewithscan.entity;

import java.util.Comparator;

/**
 * 按X-Y轴排序
 */
public class CoordSort implements Comparator<Coord> {

    /**
     * 按X-Y轴排序
     */
    private int type = 1;

    public CoordSort() {

    }

    /**
     *
     * @param type 1：X-Y轴 ，2：X轴 ，3：Y轴 ，4：Z轴
     */
    public CoordSort(int type) {
        this.type = type;
    }

    @Override
    public int compare(Coord o1, Coord o2) {
        if (type == 1) {
            if (o1.getY() < o2.getY()) {
                return 1;
            } else if (o1.getY() == o2.getY()) {
                if (o1.getX() < o2.getX()) {
                    return 1;
                } else if (o1.getX() > o2.getX()) {
                    return -1;
                } else {
                    return 0;
                }
            } else {
                return -1;
            }
        }
        // X轴小到大排序
        if (type == 2) {
            return o1.getX() - o2.getX();
        }
        // Y轴小到大排序
        if (type == 3) {
            return o1.getY() - o2.getY();
        }
        // Z轴小到大排序
        if (type == 4) {
            return o1.getZ() - o2.getZ();
        }
        return 0;
    }
}
